WorkDocs の InitiateDocumentVersionUpload、UpdateDocument API 呼び出しをEventBridgeに連携させる方法
キーワード:WorkDocs, 通知, メール通知, CloudTrail, EventBridge, SNSトピック
参考ドキュメント: https://docs.aws.amazon.com/ja_jp/workdocs/latest/adminguide/cloudtrail_logging.html https://docs.aws.amazon.com/ja_jp/eventbridge/latest/userguide/eb-service-event.html
やりたいこと
WorkDocs サイトに新しいファイルがアップロードされたり、既存のファイルが変更された場合にメールで通知させたい
ユースケース
- 定期的にパートナー企業からのデータを受け取る
- パートナー企業が複数あり、それぞれのフォルダには閲覧権限を与えずに管理したい
今回使ったAWSサービス
AWS サービス | 機能 | 用途・目的 |
---|---|---|
WorkDocs | フォルダ・ファイル管理、ユーザーへの閲覧権限を管理します | |
CloudTrail | 証跡 | WorkDocs で実行されるアクションのAPI コールをイベントとして記録します |
イベント履歴 | イベントとして記録された WorkDocs アクションを確認します | |
EventBridge | イベントルール | CloudTrail からの情報を元にイベントを発火させる条件 |
イベントバス | ※ デフォルト default イベントバスを使用します。AWSサービスからのイベント受信には、デフォルトイベントバスのみ対応しています。 | |
SNS | トピック | 発火されたイベントを Eメールで通知するために使用します |
つまずいたところ
- CloudTrail 証跡は管理イベントを記録するように設定します。念の為、WorkDocsを作成したリージョンと同じリージョンで証跡を作成します。
- EventBridge イベントバスは、デフォルトを使用します。カスタムイベントバスで作成したら WorkDocs サービスから連携される "AWS API Call via CloudTrail" をトリガーにしたイベントルールが実行されませんでした。デフォルトイベントバスにイベントルールを作成します。
設定内容
CloudTrail 証跡
SNS トピックを作成し、サブスクリプションで通知先メールアドレスを登録します。
EventBridge イベントルール
デフォルトイベントバスにルールを作成します
イベントパターン
ターゲット
ターゲットは SNS トピックを指定します。
ターゲットの入力トランスフォーマーで、通知メッセージを編集することができます。
デフォルトイベントバスの「検知を開始する」で有効化
通知メールサンプル
以上、WorkDocs に新しいファイルがアップロードされたらメール通知させる方法でした。